home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 17
/
CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso
/
CUCD
/
Programming
/
DiceSource
/
lib
/
memory
/
free.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-09-09
|
640b
|
40 lines
/*
* FREE.C
*
* (c)Copyright 1992-1997 Obvious Implementations Corp. Redistribution and
* use is allowed under the terms of the DICE-LICENSE FILE,
* DICE-LICENSE.TXT.
*/
#include <exec/types.h>
#include <exec/memory.h>
#include <clib/exec_protos.h>
#include <stdlib.h>
extern long *__MemList;
void
free(ptr)
void *ptr;
{
long **scan = &__MemList;
long *item;
if (ptr == NULL)
return;
ptr = (void *)((long *)ptr - 2);
while (item = *scan) {
if (item == (long *)ptr) {
*scan = *(long **)item;
FreeMem(ptr, ((long *)ptr)[1]);
return;
}
scan = (long **)item;
}
Wait(0);
}